It has long been the goal of computer arts to create realistic images through computer graphics. Fast 3D processing provided by modern video game consoles and computer processors may be used to generate realistic animation at a high speed in interactive response to a player's manipulation of inputs devices such as a handheld controller. Such advanced video graphics systems provide nearly cinematic quality and realism while allowing all kinds of real and imaginary scenes and characters to be displayed with interactive animation.
One of the challenges to providing realistic, interactive, high-speed 3D computer animation relates to the manner in which the computer animates movement of an object. Many computer graphics animation systems define the object in terms of what the object looks like, such as shape or form. Furthermore, animated objects move, and therefore have dynamic characteristics as well. For example, to realistically animate a ball, it is necessary to model the elasticity of the ball (i.e. how much it deforms when it strikes another object). Another characteristic commonly modeled is how the object behaves when it collides with another object (i.e. does it bounce, deform, shatter).
Any representation in computer graphics whether realistic or imaginary requires a certain amount of dynamic realism in order to be properly evaluated by the human brain. In addition to the above mentioned modeling approaches, a critical part of realistic animation is the ability of the graphics program to predict the location and speed of collision, such that the behavior of the object before and after the collision may be determined. Thus, it is with respect to these considerations, and others, that the present invention has been made.